Method for changing raid-level in disk array subsystem

ABSTRACT

In a disk array subsystem capable of changing the data redundancy method between a duplicating method and a parity method, the load of data transfer occurring at the time of changing the data redundant method is reduced. In the disk array subsystem, since one data of the duplicated data are used for data for the parity data area, the one data secures an area for storing parity prepared from the data. With the arrangement, it is not necessary to transfer the data when the data redundancy method is changed from the duplicating to the parity method and the data transfer load is mitigated.

TECHNICAL FIELD

The present invention relates to a storage subsystem, and moreparticularly to a disk array subsystem for performing a redundancymethod and storing data.

BACKGROUND ART

Two method for storing redundant data in a storage subsystem aretypically known. One is a mirror method for duplicating data. The otheris a parity method in which parity data are generated from data.

Methods for storing redundant data in a disk array subsystem areillustrated in detail in literature: A Case for Redundant Arrays ofInexpensive Disks (RAID), 15 David A. Patterson, Garth Gibson, and RandyH. Katz, 1988 ACM 0-89791-268-3/88/0006/0109.

Advantages and disadvantages in using the mirror and parity methods in adisk array subsystem will be described below.

In storing redundant data by a mirror-based redundancy process, the datais duplicated by storing the same data in two different drives withinthe disk array subsystem. In storing redundant data by a parity-basedredundancy process, parity data generated from the data are stored in adrive different from a drive in which the original data are stored (theparity data uses a smaller capacity than the original data). The mirrormethod provides better performance and availability, but is not anefficient use of capacity and is more expensive than the parity method.The parity method is less expensive, but is more disadvantageous interms of performance and availability than the mirror method.

JP-A-7-84732 discloses a subsystem where both mirror-based storing ofredundant data and parity-based storing of redundant data are present.JP-A-7-84732 also discloses techniques by which the subsystem candynamically change the redundancy methods from mirror to parity and viceversa for its data. The redundancy method changing techniques allowusers to store data in the subsystem with the best redundancy methodselected in terms of trade-offs between cost, performance andavailability.

The technique disclosed in JP-A-7-84732 requires that to change the dataredundancy methods, data be transferred between data areas in which thedata are stored by the different redundancy methods. FIG. 9 shows aprocess by which the disk array subsystem changes the redundancy methodfrom mirror to parity. A disk array controller 102 (hereinafter referredto as “DKC”) transfers data from a mirror-based data storing area 207 toa parity-based data storing area 208. In the example shown in FIG. 9,transfer of data blocks 0, 1 and 2 requires that a single readingoperation and four writing operations be effected with respect tomagnetic disk drives (hereinafter referred to as the “drive(s)”)including the generation and writing of parity data. Further, the datatransfer occupies five drives 201, 203, 204, 205 and 206. As a result,the performance of the disk array subsystem is significantly impaired.To change the redundancy methods from parity to mirror, data stored bythe parity method is first read and the read data is thereafterduplicated for mirror-based storing of redundant data and then iswritten. As a result, the performance of the subsystem is similarlyimpaired.

SUMMARY OF THE INVENTION

The object of the present invention is to allow a disk array subsystemcapable of changing the redundancy method to reduce its loads caused bydata transfer occurring when the redundancy method is changed.

A disk array subsystem according to the present invention has aplurality of drives for storing blocks of data supplied from a hostapparatus, and a disk array controller for setting a plurality ofstorage areas each extending over the plurality of drives and forcontrolling the plurality of drives, and when the subsystem duplexes theblocks of data to record them in two of the storage areas, at least oneof the two storage areas has data areas for storing the blocks of dataincluded in the plurality of drives and a parity storing area forstoring parity data prepared from the blocks of data included in atleast one drive.

That is, the disk array subsystem according to the present invention issuch that when the subsystem stores redundant data by duplicating, anarea for storing parity data (hereinafter referred to as “parity storingarea(s)”) prepared from the data to be stored is secured in at least oneof the storage areas. No parity data have to be actually generated andstored in the parity storing areas as long as the data are duplicated.

To change the redundancy method from mirror to parity, the disk arraysubsystem according to the present invention reads one group ofduplicated data, generates parity data from the read data and stores thegenerated parity data in the secured parity storing areas. Thereafter,of the storage areas in which the duplicated data are stored, thesubsystem deletes the storage area storing no parity data. The otherstorage area can be treated as a storage area having parity-basedredundant data by writing parity data therein.

Thus, according to the present invention, the redundancy method can bechanged from mirror to parity only by reading data, generating paritydata and writing the generated parity data. As a result, the presentinvention can dispense with the conventionally required steps of readingone group of duplicated data, generating parity data from the read dataand writing both the read data and the generated parity data.

On the other hand, to change the redundancy method from parity toduplicating, the disk array sub-system of the present invention copiesdata stored in one storage area that has both data areas for storing thedata and parity storing areas for storing parity data generated from thedata into the other storage area to thereby duplicate the data both inthe source storage area and in the copied-data storage area.

To change the redundancy method from parity to duplicating, theconventional disk array subsystem first read parity-based redundant dataand thereafter duplicated the read data, and thus the duplicated datahad to be written in two places. However, in the present invention astorage area having both data and parity data generated from such datais used as one of the duplicated storage areas. Therefore, there is noneed to write the data in the two storage areas for duplicating. Thatis, the present invention can change the redundancy method only bywriting the data in one storage area.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram showing data arrangement according to a firstembodiment of the present invention;

FIG. 2 is a diagram showing a configuration of a disk array controlleraccording to the present invention;

FIG. 3 is a diagram showing a process for changing redundancy methodfrom mirror to parity in a disk array subsystem according to the presentinvention;

FIG. 4 is a diagram showing data arrangement after change of theredundancy method from mirror to parity has been completed in a diskarray subsystem according to the present invention;

FIG. 5 is a diagram showing a process for changing the redundancy methodfrom parity to mirror in a disk array subsystem according to the presentinvention;

FIG. 6 is a diagram showing data arrangement after change of theredundancy method from parity to mirror has been completed in a diskarray subsystem according to the present invention;

FIG. 7 is a diagram showing a configuration of a second embodiment ofthe present invention;

FIG. 8 is a diagram showing a configuration of a third embodiment of thepresent invention; and

FIG. 9 is a diagram showing a process for changing redundancy methodfrom mirror to parity in a conventional disk array subsystem.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2 shows a configuration of a disk array controller according to thepresent invention. In the disk array controller, an SVP (serviceprocessor) 100, a host processor interface 902, a disk drive interface903 and a semiconductor memory 900 are connected to a common bus 905.The host processor interface 902 is connected to a host processor 101,and the disk drive interface 903 to disk drives 911 to 914.

The host processor interface 902, which is controlled by a controlprocessor A 901, controls data transfer between the host processor 101and the semiconductor memory 900. The host processor interface 902transfers data stored on the semiconductor memory 900 to the hostprocessor 101 at a read request made by the host processor. Further, ifthe semiconductor memory 900 does not have the data for which the readrequest has been made by the host processor, then the host processorinterface 902 instructs the disk drive interface 903 to transfer thedata in the disk drives 911 to 914 to the semiconductor memory. On theother hand, the host processor interface 902 stores the data transferredfrom the host processor 101 on the semiconductor memory 900 at a writerequest made by the host processor 101, and informs the disk driveinterface 903 that the data has been updated.

The disk drive interface 903, which is controlled by a control processorB 904, controls data transfer between the disk drives 911 to 914 and thesemiconductor memory 900. The disk drive interface generates parity datafrom the data in the semiconductor memory as necessary, and stores thegenerated parity data in the semiconductor memory 900. The disk driveinterface 903 transfers the parity data in the semiconductor memory tothe disk drives 911 to 914 as necessary.

A maintenance person causes the SVP to check the internal states of thehost processor interface 902, the disk drive interface 903 and thesemiconductor memory 900 through the common bus 905, and can thereforeinstruct the control processors A 901 and B 904 to, e.g., recover thefaults and configuration changes of the DKC 102 and the drives 911 to914.

FIG. 1 shows a disk array subsystem according to a first embodiment ofthe present invention. In general, disk array subsystems use magneticdisks as their storage media, but can also use magnetic tapes,semiconductor memories and the like. The disk array subsystem accordingto the first embodiment uses magnetic disk drives.

Magnetic disk drives 103 to 106 are connected to the DKC 102. The DXC102 is connected to the host processor 101, and controls data transferbetween the host processor 101 and the drives 103 to 106. The serviceprocessor 100 (SVP) is connected to the DXC 102. A maintenance personperforms maintenance work such as failure diagnoses and configurationchanges of the DKC 102 and the drives 103 to 106 through the SVP 100.

The storage area of each of the magnetic disk drives 103 to 106 isdivided into a mirror data area 107, and a parity data area A 108 and aparity data area B 109.

Data blocks 0 to 17 and parity blocks P3 to P5 in the respective areasare of the same size, and they are contiguous data area within a singledrive. In this embodiment, the size of each data block or parity blockis equal to the volume of a single track of each drive, and a singleblock corresponds to a single track.

Data to be formed mirror based redundant data in the disk arraysubsystem are stored in the mirror data area 107 and the parity dataarea A 108 or B 109 to be duplicated. The data in the mirror data area107 are arranged in the same placement as the conventional mirror-basedredundant data. Mirror-based data redundancy methods in which the samedata is stored in two areas are called “RAID1.” The data within theparity data area A 108 or B 109 are arranged in the same placement asthe conventional parity-based redundant data. The parity-based dataredundancy methods are available as RAID3, RAID4 and RAID5. The methodcalled “RAID5” is used in this embodiment. Note however that if themirror data area has a copy of the data stored in a parity data area, noparity data to be stored in the parity data area are generated, so thatno parity data are written in the parity storing areas.

In the case shown in FIG. 1, the data blocks 0 to 8 are stored in themirror data area 107 and the parity data area A 108. As a result, noparity data are generated in the parity data area A 108, and no paritydata are therefore written to the parity storing areas 110, 111 and 112.On the other hand, no data are duplicated for the parity data area B 109unlike for the parity data area A 108. Therefore, parity data aregenerated and stored in the parity data area B 109 as in theconventional method to make the data redundant.

In the state shown in FIG. 1, the data in the parity data area A 108have been duplicated, and thus superior to the data in the area B 109 interms of their accessibility, and their availability at the time of afault. However, in terms of capacity efficiency, the parity data area B109 is superior to the parity data area A 108, and thus the area B 109is superior in terms of cost.

The data redundancy method shown in FIG. 1 is particularly advantageouswhen the data in the parity data area A 108 are used frequently or whenserious damage can be caused at the time of a data loss. When the datain the parity data area A 108 are used less frequently or when theimportance of such data is reduced, the redundancy method is changed toparity so that the capacity efficiency can be improved.

FIG. 3 shows a process by which the DKC 102 changes the redundancytechnique to improve the capacity efficiency of the parity data area A108. First, the DXC 102 reads data from the mirror data area 107, andthen generates parity data and writes the generated parity data intoparity storing areas of the parity data area A 108. To complete theprocess, the DKC 102 invalidates the mirror data area 107 so that theinvalidated area can store other data. FIG. 3 shows an example in whichthe DXC 102 generates and writes parity data into the drive 103.

In the first step, the DKC 102 reads the data blocks 0, 1 and 2 from themirror data area 107 of the drive 103.

In the second step, the DXC 102 EXCLUSIVE-ORs the read data to generatethe parity block P0.

In the third step, the DXC 102 writes the parity block P0 into theparity storing area within the parity data area A 108 of the drive 103.

In the fourth step, the DKC 102 invalidates the data blocks 0, 1 and 2within the mirror data area 107 of the drive 103.

The DKC 102 repeats the first to fourth steps for the rest of the drives104, 105 and 106 to Write parity data in the parity storing areas oftheir parity data areas A 108, so that all the data blocks within themirror data area 107 are invalidated. As a result, the redundancy methodfor the data in the parity data area A 108 is changed to parity-basedredundancy method (RAID5 in this embodiment). FIG. 4 shows dataarrangement in the disk array subsystem after the change. To change theredundancy method from mirror (RAID1) to parity (RAID5), it isheretofore required that the DKC 102 copy the data blocks into theparity data area after the second step. However, the present inventiondispenses with such copying operation by transferring one group of thegroups of duplicated data to the parity data area.

Further, the data blocks 0, 1 and 2 necessary for generating the paritydata to be stored in the parity storing area P0 are present in the samedrive 103 as the parity storing subarea P0. Therefore, the user usesonly a single drive to perform a series of process steps including datareading, and parity data generation and writing. Hence, unlike theconventional disk array subsystem shown in FIG. 9 that required thatfive drives be used and that a one time of reading and four times ofwriting be carried out to change the redundancy method from mirror toparity, the disk array subsystem according to the present inventionrequires only a single drive be used and that a single time of readingand a single time of writing be carried out to change the redundancymethod from mirror to parity as shown in FIG. 3. Therefore, the presentinvention can reduce the rate of use of the drives during the changingof the data redundancy method and thus prevent impairment of theperformance of the disk array subsystem.

In the disk array subsystem shown in FIG. 4, let us assume that data inthe parity data area B 109 are used more frequently or that theimportance of the data is increased. In this case, data accessibilityand data availability at the time of a fault can be improved byduplicating the data in the parity data area B 109.

FIG. 5 shows a process by which the DKC 102 changes the redundancytechnique to improve the accessibility and availability of data in theparity data area B 109. First, the DXC 102 reads the data from theparity data area B 109, and then copies the data read into the mirrordata area 107 for duplicating. As the last step, the DXC 102 invalidatesthe parity storing areas in the parity data area B 109. FIG. 5 shows anexample in which the DKC 102 copies some of the data with respect to thedrive 103 for duplicating.

In the first step, the DKC 102 reads the data 15 blocks 9, 10 and 11from the parity data areas B 109 of the drives 104, 105 and 106.

In the second step, the DKC 102 copies the data blocks 9, 10 and 11 intothe mirror data area 107 of the drive 103.

In the third step, the DKC 102 invalidates the parity storing areawithin the parity data area B 109 of the drive 103.

The DKC 102 repeats the first to third steps for the rest of the drives104, 105 and 106 so that The data in these drives are copied to themirror data area 107. As a result, the data in the parity data area B109 have been duplicated. FIG. 6 shows data arrangement in the diskarray subsystem after the change. Particularly, FIG. 6 shows thearrangement of data in drives 103-106 and data areas 107-109 as a resultof the redundant processing performed as per FIG. 5.

The conventional disk array subsystem required, when changing theredundancy method from parity to mirror, that the DXC 102 further copythe data blocks into the mirror data area of another drive after thesecond step. Unlike such conventional subsystem, the disk arraysubsystem according to the present invention can dispense with the stepof copying the data blocks from one mirror data area to another sincethe data blocks in the parity data area themselves are used as one groupof the duplicated data. The conventional disk array subsystem requiredthat five drives be exclusively used and that three times of reading andtwo times of writing be made to change the redundancy method from parityto mirror. However, the disk array subsystem according to the presentinvention can change the data redundancy means for the data blocks 9, 10and 11 from parity to mirror by requiring that four drives be used andthat three times of reading and a single time of writing be made asshown in FIG. 5. As a result, the subsystem according to the presentinvention can reduce the utilization rate of its drives and thus preventdegradation of its performance when it changes the redundancy method.

While the mirror data area 107, and the parity data areas A108 and B109are allocated to a same group of drives such as the drives 103 to 106 inthis embodiment, each of these areas can be allocated to differentgroups of drives as well.

Further, the size of the data block and the parity block is equal to thecapacity of a single track of a drive in this embodiment. It isapparent, however, that similar advantages can be obtained by settingtheir size equal to a desired capacity such as the capacity of a singlecylinder or any capacity smaller than a single track.

Still further, the redundancy method can be changed when at least one ofthe following three events is established in this embodiment.

(1) When a maintenance person transmits a redundancy method changingcommand to the DKC 102 from the SVP 100.

(2) When the operating system or an application program on the hostprocessor 101 transmits the redundancy method changing command to theDKC 102.

(3) When the DKC 102, having the function of gathering information aboutthe frequency of accesses to the drives 103 to 106, finds that thefrequency is over or below a predetermined threshold.

FIG. 7 shows a configuration according to a second embodiment of thepresent invention. Since a disk array subsystem of this embodiment isidentical in its basic configuration and operation to the subsystem ofthe first embodiment 1, the following describes the subsystem of thesecond embodiment only as distinguished from that of the firstembodiment. The subsystem of this embodiment is different from thesubsystem of the first embodiment in that each of drives 303 to 306 hasa parity block generating function. FIG. 7 shows a process in which dataredundancy means for data blocks 0, 1 and 2 are changed from mirror toparity.

In the first step, the DKC 102 instructs the drive 303 to generate aparity block P0 from the data blocks 0, 1 and 2 and write the generatedparity block P0 into a predetermined position.

In the second step, the drive 303 generates 10 the parity block P0 andwrites the generated parity block P0 as instructed by the DKC 102.

In the third step, the drive 303 informs the DKC 102 that the generationand writing of the parity block P0 has been finished.

Between the first step and the third step, the DKC 102 can control theother drives 304 to 306 or transmit and receive commands to and from thehost processor 101. Thus, this embodiment reduces the processingoverhead of the DKC 102 by allowing each drive to generate and write aparity block only within itself. As a result, this embodiment canimprove the performance of the disk array subsystem further than thefirst embodiment.

FIG. 8 shows a configuration according to a 25 third embodiment. A diskarray subsystem of this embodiment is identical in its basicconfiguration and operation to the subsystem of the first embodiment,and the following describes the subsystem of this embodiment only asdistinguished from that of the first embodiment. What distinguishes thisembodiment from the first embodiment is as follows.

(1) A mirror data area 407 is allocated to drives 401, 402 and 403 thatare different drives from those having a parity data area 408.

(2) Each of the drives 401, 402 and 403 to which the mirror data area407 is allocated is smaller in capacity but processes data at a higherspeed than drives 411 to 414 to which the parity data area 408 isallocated.

(3) A semiconductor memory 400 for temporarily storing data to bewritten to the drives 411 to 414 is provided within the DKC 102.

As a result of such configuration, this embodiment can reduce read/writetime compared with the subsystem of the first embodiment. The followingaccounts in detail for why this can be implemented.

For read operation, data blocks are read from 20 the mirror data area407. Since the mirror data area 407 is allocated to the high-speeddrives 401, 402 and 403 in this embodiment, the read time can beshortened.

For write operation, data blocks are written to both the mirror dataarea 407 and the semiconductor 25 memory 400 to duplicate the datablocks. At this point of time in the process, the DXC 102 informs a hostprocessor 101 that the write operation has finished.

The writing of the data blocks into the parity data area 408 is effectedsynchronously after the write operation has been finished. Therefore,the time required for writing the data blocks into the parity data area408 is not counted in the write time. The write time includes only thetime required for writing the data blocks into the mirror data area 407.Since the mirror data area 407 is provided in the high-speed drives 401,402 and 403, the write time can be shortened.

According to the present invention, the disk array subsystems with theredundancy method changing function can reduce the frequency of accessesto magnetic disk drives required to change the redundancy method,compared with the conventional redundancy method changing techniques.Especially, the present invention can change the redundancy method fromduplicating to parity without involving transfer of data, and thisprevents the disk array subsystems from impairing their performance whenthe subsystems change their redundancy methods.

What is claimed is:
 1. A disk array subsystem comprising: a plurality of drives for storing data; and a controller for controlling said drives and allocating a plurality of storage areas to said drives, wherein when implementing redundancy by recording or writing same data in said storage areas, said controller allocates a first storage area to at least one of said storage areas such that a plurality of data blocks and a parity block for storing parity data generated from said data blocks are distributed over said drives in said at least one storage area.
 2. The disk array subsystem according to claim 1, wherein when changing from implementing redundancy by recording or writing same data in said storage areas to implementing redundancy by distributing a plurality of data blocks and a parity block for storing parity data generated from said data blocks over said drives in said at least one storage area, said controller stores parity data generated from said plurality of data blocks in said parity block in said first storage area and distributes said parity block and said data blocks over said drives in said first storage area, thereby implementing redundancy while deleting data in other storage areas in which the same data are stored.
 3. The disk array subsystem according to claim 2, wherein data blocks that are used for generating the parity data to be stored in said parity block in said first storage area have been stored in the same drive in said other storage areas as one in which said parity block is provided in said first storage area.
 4. The disk array subsystem according to claim 3, wherein said controller generates parity data to be stored in said parity block in said first storage area from data stored in the same drive in said other storage areas as one in which said parity block in said first storage area is provided.
 5. The disk array system according to claim 4, wherein the drive which has said parity block in said first storage area generates parity data to be stored in said parity block from data stored in said other storage areas in said drive.
 6. A disk array subsystem having: a plurality of drives for storing data; and a controller for controlling said drives and allocating a plurality of storage areas to said drives, wherein said disk array subsystem involves two kinds of data, a first kind of data being data going through redundancy processing by which said data is stored in said storage areas, while a second kind of data going through different redundancy processing by which a plurality of data and parity data generated from said data are stored in said plurality of drives in a storage area, wherein a first storage area, which is one of said storage areas which are for storing same data for redundancy purposes, has a block for storing parity data generated from a plurality of blocks of data, and wherein when said controller changes a method of executing redundancy processing from a method of storing same data in a plurality of storage areas to a method of storing a plurality of data and parity data generated therefrom in said drives in a storage area, said controller uses said first storage area as a storage area for executing the redundancy processing based on parity data. 7.The disk array subsystem according to claim 6, wherein the method executing redundancy processing by storing same data in a plurality of storage areas is RAID 1, while the method of executing redundancy processing by storing a plurality of data and parity data generated from said data in said drives in a storage area is RAID
 5. 8. The disk array subsystem according to claim 6, wherein when said controller changes the method of executing redundancy processing from a method of storing same data in a plurality of storage areas to a method of storing a plurality of data and parity data generated therefrom in said drives in a storage area, said controller generates said parity data from said plurality of data, stores the generated data in said parity block, and deletes data in other storage areas which have stored therein the same data as that stored in said first storage area.
 9. The disk array subsystem according to claim 8, wherein those data blocks that are used for generating the parity data to be stored in said parity block in said first storage area have been stored in the same drive in said other storage areas as one in which the same drive in said other storage areas as one in which said parity block is provided in said first storage area.
 10. The disk array subsystem according to claim 9, wherein said controller generates parity data to be stored in said parity block in said first storage area from data stored in the same drive in said other storage areas as one in which said parity block in said first storage area is provided.
 11. The disk array subsystem according to claim 9, wherein the drive which has said parity block in said first storage area generates parity data to be stored in said parity block from data stored in said other storage areas in said drive.
 12. The disk array subsystem according to claim 6, wherein said controller changes the method of executing redundancy processing based on an instruction from a host apparatus to be connected to said controller.
 13. The disk array subsystem according to claim 6, wherein said controller changes the method of executing redundancy processing based on access frequency information given by a host apparatus to be connected to said controller.
 14. A disk array subsystem having: a plurality of drives for storing data; a controller for controlling said plurality of drives and allocating a plurality of storage areas to the plurality of drives, wherein said subsystem involves two kinds of data, a first kind of data being data which goes through redundancy processing by which same data are stored in said storage areas, while a second kind of data being data which goes through redundancy processing by which a plurality of data and parity data generated from said plurality of data are stored in said drives in a storage area, wherein of first and second storage areas for storing same data for redundancy purpose, the first storage area has a block for storing parity data generated from a plurality of blocks of data, and wherein when said controller changes a method of executing redundancy processing from a method of storing same data in a plurality of storage areas to a method of storing a plurality of drives in a storage area, said controller uses said first storage area as a storage area for executing the redundancy processing based on parity data.
 15. The disk array subsystem according to claim 14, wherein the method of redundancy processing by storing same data in a plurality of storage areas is RAID 1, while the method of redundancy processing method by storing a plurality of data and parity data generated from said plurality of data in said plurality of drives in a storage area is RAID
 5. 16. The disk array subsystem according to claim 14, wherein when said controller changes the method of executing redundancy processing from the method of storing same data in a plurality of storage areas to the method of storing same data in a plurality of storage areas to the method of storing a plurality of data and parity data generated therefrom in said plurality of drives in a storage area, said controller generates said parity data from said plurality of data, stores the generated said parity data in said parity block, and deletes data in said second storage area which has stored therein the same data as that stored in said first storage area.
 17. The disk array subsystem according to claim 16, wherein those data blocks that are used for generating the parity data to be stored in said parity block in said first storage area have been stored in the same drive in said second storage areas as one in which said parity block is provided in said first storage area.
 18. The disk array subsystem according to claim 17, wherein said controller generates parity data to be stored in said parity block in said first storage area from data stored in the same drive in said second storage area as one in which said parity block in said first storage area is provided.
 19. The disk array subsystem according to claim 17 wherein the drive which has said parity block in said first storage area generates parity data to be stored in said parity block from data stored in said second storage area in said drive.
 20. The disk array subsystem according to claim 14, wherein said controller changes the method of executing redundancy processing based on an instruction from a host apparatus to be connected to said controller.
 21. The disk array subsystem according to claim 14, wherein said controller changes the method of executing redundancy processing based on an instruction given by a service processor to be connected to said controller.
 22. The disk array subsystem according to claim 14, wherein said controller changes the method of executing redundancy processing based on access frequency information given by a host apparatus to be connected to said controller. 